package collection;

import java.util.*;

public class SortString {
    public static void main(String[] args) {
        /*
        List<String> list = new ArrayList<>();
        list.add("jack");
        list.add("rose");
        list.add("tom");
        list.add("peter");
        list.add("steven");
        list.add("Jerry");
        System.out.println("list原始数据"+list); //[jack, rose, ton, peter, steven, jerry]

        //对英文字符串排序时,会按首字母的ASCII码,以此类推
        Collections.sort(list);
        System.out.println("list排序后数据:"+list); //[Jerry,jack,peter,rose,steven,tom]
         */

        List<String> list = new ArrayList<>();
        list.add("王克晶");
        list.add("传奇sfdfgh");
        list.add("国斌老师");
        System.out.println("list原始数据" + list); //list原始数据[王克晶, 传奇sfdfgh, 国斌老师]
        /*
            compare()方法用于定义o1和o2比较大小的规则,并且返回值表示大小关系
            返回值实现的要求----------不用纠结,记住下面的结论即可
                1)如果返回值>0则表达的是o1>o2
                2)如果返回值<0则表达的是o1<o2
                3)如果返回值=0则表达的是o1=o2
            结论:
                1)前面的-后面的---------------升序
                2)后面的-前面的---------------降序
         */
        Collections.sort(list,(o1,o2)-> o1.length() - o2.length()//升序
              //return o2.length() - o1.length();//降序
        );
        System.out.println("list排序后"+list);
    }
}